package com.castle.fortress.admin.study.course.entity;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import java.util.Date;
import lombok.Data;
import com.baomidou.mybatisplus.annotation.*;
import lombok.EqualsAndHashCode;
import com.castle.fortress.admin.core.entity.BaseEntity;
/**
 * 课程管理 实体类
 *
 * @author castle
 * @since 2023-01-30
 */
@Data
@TableName("study_course")
@EqualsAndHashCode(callSuper = true)
public class StudyCourseEntity extends BaseEntity  {
	private static final long serialVersionUID = 1L;
	/**
	 * 课程分类
	*/
	@JsonSerialize(using = ToStringSerializer.class)
	private Long classifyId;
	/**
	 * 课程名称
	*/
	private String courseName;
	/**
	 * 封面图片
	*/
	private String coverImg;
	/**
	 * 课程简介
	*/
	private String courseSynopsis;
	/**
	 * 课程状态
	*/
	private Integer courseStatus;
	/**
	 * 开班状态
	*/
	private Integer classStatus;
	/**
	 * 是否推荐
	*/
	private Integer isRecommend;
	/**
	 * 推荐时间
	*/
	private Date recommendTime;
	/**
	 * 排序
	*/
	private Integer sort;
	@TableField(exist = false)
	/**
	* 关联的树形名称
	*/
	private String classifyIdName;

	//已完成课件数
	@TableField(exist = false)
	private Integer finishCoursewares;
	//总课件数
	@TableField(exist = false)
	private Integer totalCoursewares;
	//学习该课程的总会员数
	@TableField(exist = false)
	private Integer totalMembers;
	//学习该课程的总时间 分钟
	@TableField(exist = false)
	private Integer totalMinutes;
	/**
	 * 推荐类型 hot/news
	 */
	private String recommendType;
	/**
	 * 学习课程的会员名称
	 */
	@TableField(exist = false)
	private String memberName;
	/**
	 * 学习进度 00 未完成 01 已完成
	 */
	@TableField(exist = false)
	private String studyStatus;
}
